package com.ztesoft.report.entity;

import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;
import com.baomidou.mybatisplus.enums.IdType;
import com.ztesoft.report.base.entity.BaseEntity;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;

/**
 * <p>
 * 数据源配置信息表
 * </p>
 *
 * @author y3tu
 * @since 2018-06-13
 */
@Data
@TableName("datasource")
public class Datasource extends BaseEntity<Long> {

    private static final long serialVersionUID = 1L;

    /**
     * 数据源ID
     */
    @TableId(value = "id", type = IdType.INPUT)
    private Integer id;
    /**
     * 数据源名称
     */
    private String name;
    /**
     * 数据源类型 1：mysql   2：oracle
     */
    @TableField("datasource_type")
    private String datasourceType;
    /**
     * 数据源驱动类
     */
    @TableField("driver_class")
    private String driverClass;
    /**
     * 数据源连接字符串(JDBC)
     */
    @TableField("jdbc_url")
    private String jdbcUrl;
    /**
     * 数据源登录用户名
     */
    @TableField("datasource_user")
    private String datasourceUser;
    /**
     * 数据源登录密码
     */
    private String password;
    /**
     * 获取报表引擎查询器类名
     */
    @TableField("queryer_class")
    private String queryerClass;
    /**
     * 报表引擎查询器使用的数据源连接池类名
     */
    @TableField("pool_class")
    private String poolClass;
    /**
     * 说明备注
     */
    private String remarks;
    /**
     * 数据源配置选项(JSON格式）
     */
    private String options;
    /**
     * 记录创建时间
     */
    @TableField("create_time")
    private Date createTime;
    /**
     * 记录修改时间
     */
    @TableField("update_time")
    private Date updateTime;
    /**
     * 创建人
     */
    @TableField("create_user")
    private String createUser;
    /**
     * 更新人
     */
    @TableField("update_user")
    private String updateUser;


    @Override
    protected Serializable pkVal() {
        return this.id;
    }

    @Override
    public String toString() {
        return "Datasource{" +
                ", id=" + id +
                ", name=" + name +
                ", datasourceType=" + datasourceType +
                ", driverClass=" + driverClass +
                ", jdbcUrl=" + jdbcUrl +
                ", datasourceUser=" + datasourceUser +
                ", password=" + password +
                ", queryerClass=" + queryerClass +
                ", poolClass=" + poolClass +
                ", remarks=" + remarks +
                ", options=" + options +
                ", createTime=" + createTime +
                ", updateTime=" + updateTime +
                ", createUser=" + createUser +
                ", updateUser=" + updateUser +
                "}";
    }
}
